Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introduce the Dash0 Injector #155

Draft
wants to merge 2 commits into
base: main
Choose a base branch
from
Draft

Introduce the Dash0 Injector #155

wants to merge 2 commits into from

Conversation

mmanciop
Copy link
Member

Add to the Dash0 instrumentation image an LD_PRELOAD injector that:

  1. Works irrespective of the libc flavour used by the dynamically-linked host process (e.g., Node v8, CPython, the JVM)
  2. Modified on-demand the value of environment variables looked up by the host process through the getenv LibC API (currently implemented: NODE_OPTIONS)

The injector replicates internally a subset of the libc APIs related with string comparison and manipulation. That code is adapted from muse libc, and the respective copyright notice is included.

Copy link

sonarcloud bot commented Sep 25, 2024

Quality Gate Passed Quality Gate passed

Issues
3 New issues
0 Accepted issues

Measures
0 Security Hotspots
No data about Coverage
0.0% Duplication on New Code

See analysis details on SonarCloud

@mmanciop mmanciop marked this pull request as draft September 25, 2024 07:55
@mmanciop
Copy link
Member Author

TODOs as of f292f12:

  1. Integrate multi-arch image building and testing
  2. Test more scenarios relevant for injection, e.g., unrelated var remain untouched
  3. Adjust the env vars set by the operator on injection to use LD_PRELOAD

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant